package co.edu.eam.taller.mecanico.entidades;

import java.io.Serializable;
import java.util.List;

import javax.persistence.*;



/**
 * Entity implementation class for Entity: Cliente
 *
 */
@Entity
@NamedQueries({
	@NamedQuery(name=Cliente.CONSULTA_TODOS,query="Select c from Cliente c"),
	@NamedQuery(name=Cliente.FIND_CLIENTE_BY_CEDULA,query="select c from Cliente c where c.cedula=:"+Cliente.PARAMETRO_CEDULA)
})
public class Cliente implements Serializable {
	/**
	 * Canstante para la named quiery de buscar todos los clientes.
	 */
	public static final String CONSULTA_TODOS="Cliente.findAll";
	
	/**
	 * Constante para la named quiery de buscar cliente por cedula y tipo de documento.
	 */
	public static final String FIND_CLIENTE_BY_CEDULA="Cliente.findClienteByCedula";
	
	/**
	 * Constante para el parametro de cedula
	 */
	public static final String PARAMETRO_CEDULA="cedula";
	
	
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy= GenerationType.AUTO)
	private long id;
	private String nombre;
	private String cedula;
	
	@OneToMany(mappedBy="cliente",fetch=FetchType.LAZY)
	private List<Automovil> automoviles;
		
	public Cliente() {
		super();
	}

	public Cliente(String nombre, String cedula) {
		super();
		this.nombre = nombre;
		this.cedula = cedula;
	}

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getCedula() {
		return cedula;
	}

	public void setCedula(String cedula) {
		this.cedula = cedula;
	}

	public List<Automovil> getAutomoviles() {
		return automoviles;
	}

	public void setAutomoviles(List<Automovil> automoviles) {
		this.automoviles = automoviles;
	}
	
	
   
}
